﻿namespace ConsoleApp2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Class1 o1 = new Class1();
            Class1 o2 = new Class1();
            Class1 o3 = new Class1();
            Console.WriteLine(o1.Count);

        }
        public class Class1
        {
            //由于count是静态变量，它会在每次创建实例时保持增加，而不会被重置。
            private static int count = 0;
            //由于静态构造函数只会在类第一次被加载时执行一次
            static Class1()
            {
                count++;
            }
            public Class1()
            {
                count++;
            }
            public int Count
            {
                get
                {
                    return count;
                }
            }
        }
        //1、实例化o1后值为2。静态构造函数一次加构造函数一次。 此时count为2
        //2、实例化o2后，执行了构造函数，加1，此时count为3
        //3、实例化o3后，因为count是静态变量，它会在每次创建实例的时候保持增加，是不会被重置的。此时再加1 值为4
    }
}